home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / games / dmaped21.zip / DMAPEDIT.DOC < prev    next >
Text File  |  1994-04-05  |  37KB  |  846 lines

  1.                 DMapEdit v2.1 - a doom map editor!
  2.  
  3. -------------
  4.  
  5. DMapEdit is my trademark
  6. Doom is a trademark of id Software Inc.
  7. Vesa.bgi is copyright (C) 1991 Jordan Hargraphix
  8. UniVesa - Universal VESA TSR is copyright (C) 1993 Kendall Bennett.
  9. Ms-window is a trademark of Microsoft
  10.  
  11. Copyright (C) 1994 Jason Hoffoss.  All rights reserved.
  12.  
  13. You may freely distribute this program, as long as it is distributed 
  14. intact (all 8 original files) and unmodified.  You may not sell this 
  15. program, for profit or any other purpose.
  16.  
  17. This Editor is not a product of id Software and id Software cannot and
  18. will not provide support it, nor for maps created with it, nor for DOOM
  19. itself if you modify the DOOM.WAD (IWAD) file.
  20.  
  21. -------------
  22.  
  23. Welcome to DMapEdit.  DMapEdit is a true, full-featured map editor, and
  24. not just a thing editor.  DMapEdit can now generate Nodes, Sectors and 
  25. Blockmaps.  
  26.  
  27. I've decided to make this product shareware.  Therefore, this is the
  28. shareware 'demo' version.  The registered version can be obtained from
  29. me by sending a $5 check, money order or whatever to my address.
  30.  
  31. My address is:
  32.  
  33.         Jason Hoffoss
  34.         10321 110th st. N.
  35.         Stillwater, MN  55082
  36.  
  37. When later versions become available, I will distribute patch files 
  38. electronically through the Internet and Bulletin Board systems.  If you 
  39. can't get the patches through these methods, you can register for $10 
  40. and I will send you the next 2 upgrades by postal mail.  If you want me
  41. to send it by some special method (Express Overnight or whatever), then
  42. make sure you send me enough money to cover such mailing methods.  I 
  43. will send it to your e-mail account, if you wish.  Be sure to tell me so 
  44. if that what you want, since I will assume normal postal mail.  And
  45. hey, send me a letter if you want.  Tell me you love/hate this editor,
  46. or whatever.  I don't have unlimited ideas, and many improvements and 
  47. idea for DMapEdit come from the users.  Tell me how to make it better 
  48. for you!  E-Mail can be send to me on these BBSs:
  49.  
  50.         The Death Cookie: (612) 773-0646 (In wildcat part)
  51.         The Express Lane: (612) 422-3707 or 422-1585
  52.  
  53. At the moment, I beleive I have an Internet account, but I don't yet 
  54. know what the password for my account is (it's being sent to me in the 
  55. (postal) mail).  The account is actually set up, though, so you should 
  56. all be able to send me mail there.  The address is hoffo002@gold.tc.umn.edu
  57. and I'll read it as soon as I get the password. (should have it next 
  58. week, April 4-8).
  59.  
  60. --------------------
  61. New stuff since v2.0
  62. --------------------
  63.  
  64. * Shareware version will allow you to save maps of limited size now.  A 
  65.    map such as E1M1 is too big.  In fact, all the original maps are too 
  66.    big.  This has been done so that people can test it out and verify 
  67.    that it does actually work (with the distrust of current node 
  68.    generations lately, I needed to provide this save ability)
  69.  
  70. * Bug fixes.  Ok, so I guess I didn't get all the bugs.  I planned to, 
  71.    but forgot to do so with everything else on my mind.  Sorry.  Got 
  72.    them now, though.  I'm sure this time, because unlike last time, I
  73.    fixed them before I am writting this. :)
  74.  
  75. * Ability to flip lines now, (and flip line & sidedefs).  Because of 
  76.    dooms pickyness with a sidedef on the right side, you can do this.  I 
  77.    really don't think it will be needed anymore, though.  DMapEdit will 
  78.    automatically handle these problems for you, but in case I'm wrong (I 
  79.    didn't write Doom, so I can't be sure what will and will not cause 
  80.    problems), this options is here.
  81.  
  82. Note: Be sure to line error-check any map from other editors or previous 
  83.       versions of DMapEdit.  Can't hurt anything, and it will fix any
  84.       minor problems a map may have.  (such as a map causing doom to 
  85.       hang or reboot when it loads the map, which happened to me, and 
  86.       thus I was able to fix DMapEdit to repair them)
  87.                
  88. --------------------
  89. New stuff since v1.1
  90. --------------------
  91.  
  92. * Fix of all know bugs!  If there's still any around, then let me know, 
  93.    since I can only fix bugs I know about, and if there still are any
  94.    in there, I don't know about them.
  95.  
  96. * Sector edit mode has been improved.  You can add/delete sectors with
  97.    the proper add/delete mouse buttons (or ins/del keys).  There is also 
  98.    a sector blend/copy function now (requested by Rod McCabe, in the 
  99.    first postal letter I have received of 2 total to date :)  For
  100.    information about this function, see below under 'sector editing'.
  101.  
  102. * A new misc/advanced functions menu (F9 key), with several options:
  103.  
  104.   * Error checking options:  Use these to check over a new map to 
  105.      identify any errors that might exist (and fix some of them).  If 
  106.      you get a new PWAD from somewhere, you should error check it before
  107.      you start messing around with it in DMapEdit.  Strange thing might
  108.      happen if you start editing a map with errors.
  109.  
  110.   * Line Fixer:  This option will correct any errors or inconsistancies
  111.      it detects with the lines/sidedefs.  It may change things that 
  112.      are meant to be the way they are (the less common special effect 
  113.      type things), so it should probably be used mainly for a major 
  114.      overhaul, or to setup sidedefs for a new map that you have laid out 
  115.      the lines for (easier than doing it by hand!)
  116.  
  117.   * Sector generator:  This options will reconstruct, from scratch, all 
  118.      the sectors.  This should really only be used for a major overhaul, 
  119.      or on a new map without any sectors yet, since any existing sector 
  120.      information will be lost, replaced with a standard sector definition.
  121.  
  122.   * Fix sectors:  Not yet available, this will attempt to correct any 
  123.      problems with existing sectors, and create new sectors in any 
  124.      empty polygons.  The result will be pretty much the same as with 
  125.      the sector generator, except the current sector info will not be 
  126.      trashed, but incorperated.
  127.  
  128.   * Node generator:  Before a new or line changed map can be played, a 
  129.      node structure must be generated.  That is what this option will 
  130.      do.  I have fixed all the bugs in it, and tested it out on several 
  131.      maps, and it has worked fine on them all.
  132.  
  133.   * Blockmap generator: When you complete a new map, or finish changing
  134.      an existing map around, the last two steps are to create a Node BSP 
  135.      tree, and a blockmap, before you can play it.  The blockmap 
  136.      generator works flawlessly, but the node generator..you know..
  137.  
  138. * Working PWAD/datafile name and editing mode is now displayed at the 
  139.    bottom of the screen.
  140.  
  141. * Picklist now is scrollable in 2 directions.  The old selection is also 
  142.    in the middle of the displayed list now, instead of the top. (for 
  143.    example, the current thing is an ammo clip, and you select picklist, 
  144.    then the ammo clip will be in the center of the displayed list).
  145.  
  146. ----------------
  147. Future expansion
  148. ----------------
  149.  
  150. What can you expect from future versions of DMapEdit?  I plan to add in 
  151. the rest of the routines that are currently not available in the 
  152. advanced/misc options menu.
  153.  
  154. I plan to add texture picklists, to help you decide what textures to use 
  155. where.  It should be much faster than DEU's texture displaying routines, 
  156. too.  I'm not sure how he got it to be as slow as he did..
  157.  
  158. I plan to add template support, so you can add standardized wall 
  159. formations (doors, columns, staircase, etc.) easily, without having to 
  160. make them all yourself.
  161.  
  162. I plan to add help information to explain whatever you are dealing with 
  163. at any perticular time.  Thus, if you come across something you don't 
  164. understand, you can request help about it.
  165.  
  166. I plan to add 'ini' file support (a file that lists your default setting 
  167. for DMapEdit to use whenever you edit a map)
  168.  
  169. I plan to add the ability to mark items (an item being a thing, line, 
  170. sidedef, vertex or sector) and delete them as a group, change them all 
  171. as a group (for example, make all the sidedefs middle texture 'startan3'),
  172. etc.  Because of the strong relation this has with templates, both will 
  173. be available at once.  Another way of thinking about this is the 
  174. cut/copy/paste options of a clipboard in ms-windows.  You will be able 
  175. to such things with marking.
  176.  
  177. And if anyone has any other great ideas for anything to put in, go ahead
  178. and send me your ideas.  Just make sure you explain it good.  Try to be 
  179. specific.  Sometimes I just can't figure out what you mean when you 
  180. explain something to me.
  181.  
  182. ------------
  183. Introduction
  184. ------------
  185.  
  186. So, what all can you do with this editor?  Well, you can edit Things, 
  187. vertexes, lines and sectors.  You can also generate the internal 
  188. structures that doom needs to operate (Nodes, Sub Sectors, Segments and
  189. a Blockmap).  You can edit (or just examine) existing maps (from doom, 
  190. or from PWADs created by other people), or make a new map from scratch 
  191. to play with doom.  
  192.  
  193. Map making is rather a complex task.  There is a lot that goes into 
  194. making a map, and being able to just 'slap a few lines down, make the 
  195. nodes and run' really isn't possible.  All any editor really does is 
  196. make the task of creating maps easier, by doing a lot of the stuff for 
  197. you.  This can cut down on what the user is required to know, but there 
  198. will still be much that he/she will still need to know.  Furthermore, 
  199. the more you know about making maps, the better your maps will tend to 
  200. be.  My goal in writting DMapEdit is to make map generation as simple as 
  201. possible, while still having the potential to do everything you could 
  202. possible want to do.  Having the ability to do exactly what you want is 
  203. the main goal.  If you think you can't do something, you probably can, 
  204. but just don't know exactly how to go about it.  In such a case, read 
  205. through this file, and if you can't find it here, contact me and I will 
  206. help you.  Please check this file first, though.  If it's not in here, 
  207. and you need to contact me, I will add it to this file (correcting the 
  208. oversite).  At present, I feel that this editor is easier to use than 
  209. any other out there, while still being nearly equally powerful.  If you 
  210. disagree, and have ideas on how I can make it better (or can just point 
  211. out what some other editor does better), please let me know.
  212.  
  213. So, just what do all these technical terms mean?
  214.  
  215. Things:
  216.  
  217.    Things are all objects in the game, such as barrels, dead bodies, 
  218. guns, ammo, monsters, player starting points, etc.  Walls, doors, 
  219. elevators, windows, etc are not objects.  They are lines..
  220.  
  221. Lines:
  222.  
  223.    Lines are straight line segments from one point to another.  They are 
  224. usually walls, or semi-walls, but not always.  Sometimes they represent 
  225. the edge of a lighted area, or a trigger to activate something elsewhere 
  226. when crossed by a player.  A line is always present where ceiling or 
  227. floor heights change, such as stairs, windows, etc.
  228.  
  229. Vertexes:
  230.  
  231.    All lines run between 2 vertexes.  A vertexes is simply a point.
  232.  
  233. Sidedefs:
  234.  
  235.    All lines have 2 sides to them, a left and a right side (even though 
  236. they have no width).  A sidedef determines what you will see when you 
  237. look at the line from that side.   It also tells the sector it's facing.
  238.  
  239. Sectors:
  240.  
  241.    A sector is the open area between the (lines).  You can think 
  242. of this as a room, too.  Sectors describe the floor and ceiling 
  243. heights and textures, and the lighting conditions of the space.  Anytime 
  244. any of these characteristics changes, a new sector must be created
  245. for it to describe it.  All sectors must form a closed polygon, and the 
  246. "outside" area of a map can't be a sector.
  247.  
  248. Blockmap:
  249.  
  250.    This is an internal structure that Doom uses to detect wall 
  251. collisions.  Once you make a new map, a blockmap must be generated 
  252. before it can be played.
  253.  
  254. Nodes:
  255.  
  256.    This is another internal structure (a Binary Space Partition tree) used
  257. by Doom to figure out what walls are behind what walls, so it knows it
  258. doesn't have to draw them.  I have no idea how anyone could use such a 
  259. structure for this purpose, but Doom does seem to work.. :)
  260.  
  261. Segments:
  262.  
  263.    A segment is simply a piece of a line (because nodelines often cut a 
  264. line).  This is also internal, and something you don't need to worry about.
  265.  
  266. Sub Sectors:
  267.  
  268.    Again, an internal structure of a piece of a sector, in the shape of 
  269. a convex polygon (less then or equal to 180 degrees bend between all lines,
  270. measured on the inside of the shape).
  271.  
  272. PWAD:
  273.  
  274.    A PWAD (also known as a 'working wad file'), is a collection of data 
  275. files all combined into one file, with extention WAD.  The file DOOM.WAD 
  276. is an IWAD file, however.  IWAD probably stands for Initial WAD, while 
  277. PWAD stands for Patched WAD.  The first 4 bytes of a WAD file will be 
  278. IWAD or PWAD, thus identifying it's WAD type.  Basically, when you play 
  279. doom with a PWAD file, it will try to get any data it need from the 
  280. PWAD, and if it can't find it, it will then load it from the IWAD.
  281.  
  282. E1M1:
  283.  
  284.    This is just map notation for the episode and mission numbers. 
  285. (episode 1, mission 1 in this case).  This happens to be the way a 
  286. header looks in the wad file, and is just an abbriviation, really.
  287.  
  288. ------------------------------------------------------------------------
  289.  
  290. Ok, running this program is pretty easy.  All the files that DMapEdit 
  291. comes with should all be in the same place.  You can run it without it 
  292. being in the current directory, if you wish.  If Doom.wad or Doom1.wad
  293. isn't in the current directory, you will need to tell DMapEdit where it 
  294. can find this file.  This is done by giving the path to it as the first 
  295. command line parameter, like so: 
  296.  
  297. dmapedit \doom
  298.  
  299.   or
  300.  
  301. c:\wherever\it\is\dmapedit c:\and\doom\is\here\
  302.  
  303. Dmapedit defaults to VESA SVGA 640x480x256 colors.  If you don't have a 
  304. VESA card but you do have SVGA, run univesa to create a VESA interface 
  305. for your card.  If you don't even have SVGA, why not?  A 386+ without a 
  306. SVGA card?  If you want to use a different graphics interface, or
  307. resolution, read about the -v switch at the end of this file.
  308.  
  309. Once the program is up and running, you should see a map of episode 1, 
  310. mission 1.  The program defaults to thing edit mode at startup.  At this 
  311. point, you can move things around by pressing the left mouse button on a 
  312. thing and dragging it to it's new location.  Pressing the left mouse 
  313. button while not on a thing will add a new thing (using the defaults) 
  314. and placing it when you releast the button.  The right mouse button is 
  315. used to delete a thing.  The middle button (if you have one) is used to 
  316. change the information about a thing, or the default thing if you are 
  317. not on a thing at the time you press the button.  This is the standard 
  318. mouse interface I use for this program, and editing vertexes and lines 
  319. works the same way.
  320.  
  321. ---------------------------
  322. How do I play a map I made?
  323. ---------------------------
  324.  
  325. Once you have made a map, you must save it to a PWAD file.  Then you 
  326. start doom from dos like so:
  327.  
  328. doom -file pwad1.wad [pwad2.wad] [pwad3.wad] [...]
  329.  
  330. In this example, you would have saved your PWAD with the name 'pwad1'.  
  331. If you used the name 'new', you would type:
  332.  
  333. doom -file new.wad
  334.  
  335. Another thing to note about the first example, you can use more than one 
  336. PWAD file at once.  This would be done for files that have different 
  337. information in them.  If they both use the same information (like both 
  338. having E1M1 in them), you probably shouldn't do it this way, and really 
  339. don't have any reason to.  You would use this for something like pwad1 
  340. having E1M1, pwad2 having E1M2, and pwad3 having new sound effects.  (by 
  341. the way, files is [] are optional, if you havn't figure this out yet.  
  342. You wouldn't actually type the '[' or ']')
  343.  
  344. ----------------
  345.  
  346. These are all the keyboard commands:
  347.  
  348. (global commands - available in all edit modes)
  349.  
  350.          ?: display key commands
  351.  
  352. Arrow keys,
  353.  home, end,
  354.    page up,
  355.  page down: These keys will scroll the map around..
  356.  
  357.          +: zoom in
  358.  
  359.          -: zoom out
  360.  
  361.      alt-q,
  362.      alt-x,
  363.        esc: quit and exit editor
  364.  
  365.        ins: add (same as left mouse)
  366.  
  367.        del: delete (same as right mouse button)
  368.  
  369.      space: change/edit (same as middle mouse button)
  370.  
  371.      1 - 5: change displayed vertex point size
  372.  
  373.          0: turn off vertex point display
  374.  
  375.          t: change displayed things icon size: big, small, off (see note1)
  376.  
  377.          \: change displayed lines size (thickness)
  378.  
  379.         F1: select thing edit mode
  380.  
  381.         F2: select vertex edit mode
  382.  
  383.         F3: select line edit mode
  384.  
  385.         F4: select sector edit mode
  386.  
  387.         F9: misc/advanced options (build nodes, error check, etc)
  388.  
  389.          s: save map to a data file
  390.  
  391.          l: load map from a data file
  392.  
  393.      alt-s: save map to a working WAD file (PWAD)
  394.  
  395.      alt-l: load map from a working WAD file (PWAD)
  396.  
  397.      alt-w: write map to original Doom WAD file
  398.  
  399.      alt-r: reload map from original Doom WAD file
  400.  
  401.          c: change episode and mission
  402.  
  403.          m: change thing display filter (see below)
  404.  
  405.          r: change roundoff level: 1, 8, 16 (default), 32. (see note2)
  406.  
  407.          g: change grid display intensity level
  408.  
  409.          n: start a new map from scratch (erase currently displayed map)
  410.  
  411.          z: show current statistics (totals, and memory usage)
  412.  
  413. Note1: Thing icons can't be turned off while in thing edit mode.
  414.  
  415. Note2: This is used to round off all map coordinates, so things can be 
  416.        placed with a more symetrical feel.
  417.  
  418. (Thing edit mode)
  419.  
  420.      enter: Copy selected Thing to default Thing
  421.  
  422. (Line edit mode)
  423.  
  424.          f: flip line (swap left and right sides.  see note3)
  425.  
  426.      alt-f: flip line and sidedefs (see note3)
  427.  
  428. Note3: In actuality, the sidedefs are swapped too, so that they seem to 
  429.        be where they were before.  In other words, since the left side 
  430.        of the line is now the right side, (and the sidedef hasn't been 
  431.        swapped yet) it will look like, from the users perspective, that 
  432.        the sidedef switched sides, though it didn't really.  Thus, alt-f 
  433.        will not swap the sidedefs, but only the vertexes it runs between.
  434.  
  435. (Inside of a window)
  436.  
  437.      enter: same as clicking big button (if only one.  see note4)
  438.  
  439.      alt-q,
  440.      alt-x,
  441.        esc: exit out of window (same as clicking outside window.  see note5)
  442.  
  443.    page-up,
  444.  page-down: in windows with 2-way scroll buttons, scrolls list
  445.  
  446. Note4: A big button is one with a work inside of it.  The smaller round 
  447.        buttons are called 'radio buttons'
  448.  
  449. Note5: Escaping out of a window really isn't a 'cancel' operation, but 
  450.        rather just an 'exit the window' operation, like an 'ok' button
  451.        to proceed on a mac or in ms-window (tm).  It will not cancel 
  452.        changes you have made in the window.
  453.  
  454. --------------------
  455. Thing display filter
  456. --------------------
  457.  
  458. Things are not always on every difficulty level.  Generally, harder 
  459. difficulty levels tend to have more monsters running around.  The thing 
  460. display filter is to allow you to display only what you want to display, 
  461. such as only level 1 things.  Using this filter is a little tricky, 
  462. however.
  463.  
  464. There are 5 different flags used by all things in doom:
  465.  
  466.         flag 1: skill level 1 & 2
  467.         flag 2: skill level 3
  468.         flag 3: skill level 4 & 5
  469.         flag 4: deathmatch mode
  470.         flag 5: deaf monster
  471.  
  472. Skill level 1 being "don't hurt me" and 5 being "Nightmare".  If a skill 
  473. level flag is set, then this thing will appear to a player playing on 
  474. that skill level.  If the deathmatch mode flag is set, then this thing 
  475. will only appear when playing a deathmatch mode game.  Note that this 
  476. flag is in addition to the skill level flag.  If you just set the 
  477. deathmatch mode flag and leave all three skill level flags cleared, then 
  478. the thing will never appear in any deathmatch mode game.
  479.  
  480. The deaf monster flag is only useful with monsters.  If it is set, then
  481. monster will only "activate" (come alive) upon spoting a player or being
  482. attacked.  If the monster isn't deaf, then it will also "activate" whenever
  483. it hears a players weapon being used (even punching air will do it).
  484.  
  485. There are 2 switches for each of these flags in the filter.  There are a 
  486. total of 4 possible combinations for these 2 switches.  The first switch
  487. is used as a matching state.  The second switch is set if you want to
  488. force the first switch to match a flag exactly.  This may be confusing, 
  489. so I will detail the 4 possible switch combinations..
  490.  
  491. Combination 1: both switches off (O O)
  492.  
  493. With this combination, the flag is ignored and not displayed.  If all 4 
  494. flags have this combination, nothing will be displayed.
  495.  
  496. Combination 2: first switch on, second off (* O)
  497.  
  498. This will display the thing if the flag is set.  If the flag isn't 
  499. set, the thing may still be displayed if another flag with this 
  500. combination is set.  This is a basic OR situation between flags.
  501.  
  502. Combination 3: first switch off, second on (O *)
  503.  
  504. For a thing to be displayed with this combination, the flag must be 
  505. off.  If the flag is on, the thing will not be displayed, regardless of 
  506. the other flag settings.  This is used to hide what you don't want 
  507. displayed.
  508.  
  509. combination 4: both switches on (* *)
  510.  
  511. With this combination, similar to combination 3, the flag must be on to 
  512. display this thing.  Unlike combination 2, a thing will not be displayed 
  513. if the flag is off, period.  Other flags have no effect on it.
  514.  
  515. Common filter settings:
  516.  
  517.         O = off, * = on
  518.  
  519.  
  520. Display level 1 & 2 things:
  521.  
  522. Skill level 1 & 2: * O
  523.     Skill level 3: O O
  524.     Skill level 4: O O
  525.   Deathmatch mode: O O
  526.  
  527.  
  528. Display only level 4 things, non-deathmatch mode:
  529.  
  530. Skill level 1 & 2: O O
  531.     Skill level 3: O O
  532.     Skill level 4: * O
  533.   Deathmatch mode: O *
  534.  
  535.  
  536. Display all things:
  537.  
  538. Skill level 1 & 2: * O
  539.     Skill level 3: * O
  540.     Skill level 4: * O
  541.   Deathmatch mode: * O
  542.  
  543.  
  544. Display only Deathmatch mode things:
  545.  
  546. Skill level 1 & 2: O *
  547.     Skill level 3: O *
  548.     Skill level 4: O *
  549.   Deathmatch mode: * O
  550.  
  551. Display only things unique to level 4:
  552.  
  553. Skill level 1 & 2: O *
  554.     Skill level 3: O *
  555.     Skill level 4: * O
  556.   Deathmatch mode: O O
  557.  
  558. Personal note: I think it would be an excellent idea for id to have made 
  559. another flag for 'respawn'.  This way you could make certain monsters 
  560. respawn (appearing at their original starting location), instead of 
  561. either all monster respawn or none.  It would also avoid such things 
  562. as a second cyber-demon appearing, which really ruins the whole idea 
  563. behind having respawn in the first place.  You could also have different 
  564. amounts of monsters respawn at different difficulty levels. (for 
  565. example, 5 at ultra-violence and 15 at nightmare).  I can't beleive that 
  566. adding this would be very hard programming-wise.  You have a bunch of 
  567. empty flags, you have already written the respawn routines..  Wish I 
  568. knew how to get this idea to id <sigh>.
  569.  
  570. -------------
  571. Thing editing
  572. -------------
  573.  
  574. Editing things is very easy.  If you want to move a thing to somewhere 
  575. else on the map, just click on it with the left mouse button, and drag 
  576. it to it's new location while holding the button down.  To delete 
  577. something from the map, click on it with the right mouse button.  And, 
  578. to add a new thing to the map, click the left mouse button while the 
  579. mouse isn't on a thing.  (it will be placed when you release the button, 
  580. so you can drag it around too.)  You can tell if you are on a thing by a 
  581. box around the thing.  If you see this box around it, then that is the 
  582. thing currently selected.  Information about this currently selected 
  583. thing is displayed at the top of the screen.
  584.  
  585. To change the currently selected thing, press the middle button (or the 
  586. spacebar).  This will bring up all information about the thing.  To 
  587. change any of this information, simply select the proper button.  If you 
  588. press the middle button (or the spacebar) while a thing isn't selected, 
  589. then you can change the default thing's information.  The default thing 
  590. is used whenever you add a new thing to the map.  Lastly, pressing the 
  591. Enter key will scan the selected thing's information into the default 
  592. thing.
  593.  
  594. ------------
  595. Line editing
  596. ------------
  597.  
  598. I have tried to make the line editing mode as useful and intuative as 
  599. possible.  I have also tried to put as many abilities in this one mode 
  600. as I could.  As a result, you shouldn't need to use vertex edit mode 
  601. very much, if at all.  To use this mode effectively, however, you need 
  602. to know how to use it properly.  So, here goes..
  603.  
  604. When you move the mouse cursor around the screen, it will lock onto the 
  605. closest line, and the closest vertex, if it's not too far away.  If you 
  606. have a line selected, you can use the spacebar (middle mouse button) to 
  607. edit that line's characteristics, and it's sidedefs.  Also, when a line 
  608. is selected, information about it is displayed at the top of the screen.
  609. Sidedef info is also displayed.  Each line has 2 sidedefs (or possible 
  610. sidedefs, anyway), a left sidedef and a right sidedef.  Whichever side 
  611. of the line the mouse cursor is on is the sidedef that is displayed.  
  612. When editing the selected line, a small dot will mark this sidedef as 
  613. well.
  614.  
  615. Note: When a linedef that triggers an event is hilighted, the effected 
  616.       sector(s) are also hilighted, using a dotted lines.
  617.  
  618. Adding a line (left mouse button):
  619.  
  620. A line is added by pressing the left mouse button at the starting point, 
  621. and releasing the button at the ending point.  Pressing the button when a
  622. vertex is selected (hilighted) will start the line at this vertex.  If a
  623. vertex is not selected, a new vertex is added, and becomes the starting
  624. point for the line.  Releasing the button when a second vertex is 
  625. selected will make that vertex the ending point.  Otherwise, a vertex is 
  626. added and is used for the ending point.
  627.  
  628. One last possible situation is having a line selected, but not a 
  629. vertex.  When you press the left mouse button here, a vertex is added, 
  630. spliting the line into two parts.
  631.  
  632. Deleting a line (right mouse button):
  633.  
  634. Simply select the line you wish to delete, and press the button.  Doing 
  635. this will leave a gap where the line was.  If you use the vertex edit 
  636. mode to delete a vertex, it will reroute all the line that went to that 
  637. vertex to the closest vertex along that vertexes lines (deleting a line 
  638. in the process).
  639.  
  640. Please note that lines may switch sides from time to time.  This is 
  641. because Doom is very picky about having the 'important sidedef' on the 
  642. right side.  This means that if you only have one sidedef, it must be on 
  643. the right side, so DMapEdit will flip the line around if needed to make 
  644. it so.  Also, if a line has two sidedefs, and only one sidedef has any 
  645. textures, it must be on the right side.  Again, DMapEdit will make this 
  646. so.  You don't have to worry about these details, just edit your map 
  647. however you want to, and DMapEdit will make these changes as needed.
  648.  
  649. --------------
  650. Sector editing
  651. --------------
  652.  
  653. Once you have all your lines in place, all forming closed polygon 
  654. shapes, you need to make sectors.  Any location (polygon) a player or 
  655. monster is allowed to be in needs to be a sector.  A sector definition 
  656. tells doom what heights the floor and ceiling is at for the polygon, as 
  657. well as how much light there is there.  If you are making a new map, and 
  658. have put in all the lines, but have done nothing with the sectors yet, 
  659. select "generate sectors" from the advanced options menu.  This will 
  660. examine your map and automatically assign a sector to every polygon that 
  661. needs one. (be sure your lines are set up correctly, however.  Use "fix 
  662. lines" or "error check lines" first)  Then, you can simply edit the 
  663. various sectors to your liking.
  664.  
  665. Sector edit mode is selected with the F4 key.  In this mode, the mouse 
  666. will hilight whatever sector the mouse is in (if the sectors aren't 
  667. damaged).  Information about the sector is displayed at the top of the 
  668. screen.  The spacebar or middle mouse button will let you edit this
  669. sector information.
  670.  
  671. Note: When you hilight a sector that is triggered with a linedef(s), the 
  672.       linedef(s) will be hilighted too, using a dotted line.
  673.  
  674. If you want to make a new sector where there currently isn't one 
  675. (no lines hilight), or want to fix a damaged sector (only some lines 
  676. hilight), simply press the left mouse button (or insert key) to create a 
  677. new sector there.  It will remove whatever sector(s) were there, if 
  678. any.  The sector will have the characteristics of whatever sector most 
  679. of the lines seemed to be linked to.  If it was totally empty, it will 
  680. assume the standard sector definition.
  681.  
  682. If you want to remove a sector (making a pillar solid, for example, so a 
  683. player can't be inside it) simply press the left mouse button (or delete 
  684. key) while the sector is hilighted.  If a sector is damaged for some 
  685. reason, you should remake it first (left mouse button) and then remove it.
  686.  
  687. In order for a player or monster to fit inside the sector, there must be 
  688. a different of 7 between the floor and the ceiling.  This is the 
  689. minimum.  A difference of 6 will make it impossable to enter the sector.
  690. Also, a floor height difference of 3 can be climbed, but a difference of 
  691. 4 is too high a step to climb.  The player can fall down a step of any 
  692. height.
  693.  
  694. Another option available in sector edit mode is the blend/copy 
  695. function.  You press "B" while in sector edit mode to get the blend/copy 
  696. setup screen.  Information from the hilighted sector is used to fill in 
  697. information on this screen.  You can change the initial sector 
  698. information to be used, though, on this screen.  You will also see 
  699. adjustment factors to the right.  This is how much it will change the 
  700. initial values by each time.  For example, having a floor height of 4, 
  701. and an adjustment factor of +2 will make the first sector floor height 
  702. 4, the next 6, the next 8, etc..  Using an adjustment factor of zero 
  703. will basically perform a copy operation (the initial value never 
  704. changes).  This can be useful to set a bunch of sectors to one light 
  705. value, or ceiling height, or whatever.  If you select the button that's 
  706. already on, you will turn it off, so that no adjustment factor is 
  707. selected.  When you do this, this Sector characteristic is ignored, and 
  708. thus not changed when you blend/copy.  This can let you change only the 
  709. floor heights, for example, and not the light or ceiling levels.  Or, 
  710. you can simple change the ceiling to the sky texture for a group of 
  711. sectors without changing anything else about the sectors.  As you can 
  712. see, this can be quite handy.
  713.  
  714. Once you have the setup set properly, select the Engage button.  You 
  715. will now be in blend mode.  The top line will display what values you 
  716. are currently at.  To set a sector to these values, simply click on the 
  717. sector, and the sector will be updated.  This will also adjust each 
  718. value by it's adjustment factor, and you are now ready to update the 
  719. next sector.  This is very useful for making stairs.  Simply click on 
  720. each stair, in order, until you are done.  To get out of blend mode, 
  721. simply press escape, or the right mouse button (or delete key).  To get 
  722. back to the blend mode setup screen, press "B" again, or the middle 
  723. mouse button (or spacebar).
  724.  
  725. --------------
  726. Map generation
  727. --------------
  728.  
  729. Map generation starts with putting vertexes and lines where you want 
  730. them.  This lays the foundation for everything else.  Once all the lines 
  731. are in place, you need to make sidedefs for these lines (unless you do 
  732. so along the way while you are creating the lines).  The easiest way to 
  733. do this is to select the "Fix Lines" options from the advanced options 
  734. menu (F9).  If you already have sidedefs setup, then you should at least 
  735. error check the lines, just to make sure it's all ok.  Once this is 
  736. done, you need to make all the Sectors.  If you have all the sidedefs 
  737. where you need them, you can use the "Generate Sectors" option from the 
  738. advanced options menu.  This will put make sectors for every polygon on 
  739. the map.  Another method you can use is to simply enter sector edit mode 
  740. and add sectors manually to each polygon.  One advantage to this method 
  741. is that you don't need to have the sidedefs in place.  It will create 
  742. the sidedefs if it needs to for lines as it goes along.
  743.  
  744. At this point, you have the vertexes, lines, sidedefs, and sectors all 
  745. created.  However, they are all most likely set to standard values 
  746. (walls are all brown1 texture, sectors are all the same heights and 
  747. textures, etc), so you will need to go in and set them to the values 
  748. you want them to be at.  By the way, Things can be added at any time 
  749. along the process of making a new map.  It's usually better to do so 
  750. after the lines are drawn, though, so you know where to put them, but 
  751. you are the boss.
  752.  
  753. When you have everything set the way you want it, it's time to generate 
  754. Nodes, and a Blockmap.  Making a Blockmap is fairly quick, so you might 
  755. want to do this first.  I also recommend you save your map before you 
  756. generate these two structure.  In fact, I recomment you save your map 
  757. often!  Anyway, once you have made your Blockmap and Nodes, save your 
  758. map, and enjoy playing your new map!
  759.  
  760. Notes:
  761.  
  762. Maps must have all areas enclosed by lines, forming a polygon.  A map with
  763. only 3 lines, for example, in an open ended box shape, isn't complete.
  764. Keep in mind that a line doesn't have to be a wall.  Lines are required
  765. anywhere you wish to:
  766.  
  767.         change floor or ceiling height
  768.         change lines angle
  769.         change wall, floor, or ceiling patterns
  770.         change lighting
  771.         change floor hurt-player damage
  772.  
  773. Also, every map should have a starting point for all four possible 
  774. players.  You should also have, minimum, 4 deathmatch mode starting 
  775. points.  And, of course, you should have an exit.
  776.  
  777. -----------
  778. Misc. notes
  779. -----------
  780.  
  781. Changing a map's episode and mission number:
  782.  
  783.    Suppose you want to change a map from E1M1 to E2M2.  How does one do 
  784. this?  Simple.  Just press 'C' to 'change map'.  Now, select the 
  785. episode/mission you want it to be.  Once you do this, just click outside 
  786. the window (or press Esc) and now your map has a new episode/mission 
  787. value.  At this point you can save it to a PWAD or whatever.  This can 
  788. be useful for taking several one-map PWADs and putting them all into one 
  789. big PWAD.
  790.  
  791. ---------------------
  792. Alternate video modes
  793. ---------------------
  794.  
  795. DMapEdit defaults to 640x480x256 colors, vesa svga.  If this is a 
  796. problem, you can try setting up another video mode and/or driver.  This 
  797. is all done with the -v switch.
  798.  
  799. dmapedit -v[driver,]mode
  800.  
  801. Driver: This data is optional.  With it, you can tell DMapEdit you want 
  802. to use another bgi driver, if you have one.  Be sure to use only a 256 
  803. color mode driver, as this program will not work with any other amount 
  804. of colors.  Also, 640x480 is the recommended minimum resolution.  Though 
  805. you can use lower resolutions (such as 320x200), doing so will have the 
  806. side effect of everything not fitting on the screen, and it will look 
  807. very stupid indeed.  If you can live with that, however, then knock 
  808. yourself out.
  809.  
  810. Mode: This is a number, from 0 to however many modes the driver selected 
  811. has.  With vesa.bgi, the following modes are available:
  812.  
  813.         0: 320x200 (VGA/MCGA)
  814.         1: 640x400
  815.         2: 640x480 (default)
  816.         3: 800x600
  817.         4: 1024x768
  818.  
  819. All modes are in 256 colors, since this is required for DMapEdit to work.
  820.  
  821. * vesa.bgi is copyright (c) 1991 Jordan Hargraphix.
  822.  
  823. ------
  824. Thanks
  825. ------
  826.  
  827. I'd just like to say thanx to the following people:
  828.  
  829. Paul Hagstrom: for being my internet contact for this product.  Now go 
  830.      try it out and see what it's like!
  831.  
  832. James Sterrett: For the first and so far only check I have received.  
  833.      Too bad more people haven't followed your example.
  834.  
  835. Alistair Brown: For finding that insanity-causing bug in the node 
  836.      generator.  I'm recovering quite nicely now..
  837.  
  838. Rod McCabe: For his letter and ideas.
  839.  
  840. Pierre Fournier: For tracking down that intermittent bug in the picklist 
  841.      so well for me.  I'd see it from time to time, but couldn't figure
  842.      out how to re-create it, until Pierre came along.
  843.  
  844. id: For creating Doom in the first place.  Great game guys. :)
  845.  
  846.